package top.tangyh.lamp.care.common;

import java.io.Serializable;
import java.util.Arrays;
import java.util.LinkedHashSet;
import java.util.Set;
import java.util.stream.Collectors;

/**
 * <p>
 *  观察项配置数据类型
 * </p>
 *
 * @author:
 * @since:
 */

public enum ObsvCfgDataTypeEnum implements Serializable {
	/**
	 * 观察项数据类型---枚举
	 */
	ENUM("enum","枚举"),
	/**
	 * 观察项数据类型---结构
	 */
	STRUCT("struct","结构"),
	/**
	 * 观察项数据类型---布尔
	 */
	BOOLEAN("boolean","布尔"),
	/**
	 * 观察项数据类型---字符串
	 */
	STRING("string","字符串"),
	/**
	 * 观察项数据类型---整型
	 */
	INTEGER("integer","整型"),
	/**
	 * 观察项数据类型---浮点型
	 */
	FLOAT("float","浮点型");
	private String value;
	private String code;

	private ObsvCfgDataTypeEnum(String code, String value ){
		this.code =code;
		this.value=value;
	}


	public static Set<String> getAllCode(){
		return Arrays.stream(ObsvCfgDataTypeEnum.values()).map(item->item.getCode()).collect(Collectors.toCollection(LinkedHashSet::new));
	}

	public String getValue() {
		return value;
	}

	public void setValue(String value) {
		this.value = value;
	}

	public String getCode() {
		return code;
	}

	public void setCode(String code) {
		this.code = code;
	}
}
